The present invention relates in general to component placement systems and, more particularly, to a method and system for adaptive component placement.
Users often desire to integrate several computer components into a single system. For example, a system may comprise a power supply, a server, a storage device, a monitor, and other components. The user integrates such components into a single system with the use of a rack. A rack allows for the placement of components in a modular fashion such that a user can integrate various combinations of components into the system.
Conventional tools assist users in developing a configuration of the components within the racks. The configuration comprises the placement of each component within the rack. For example, one conventional tool comprises a software tool that receive an input of the components to be placed in a rack and output a configuration of the rack.
The conventional tools use a weight-based algorithm to derive the configuration. A weight-based algorithm places the heaviest components lowest in the rack.
One problem with such a configuration, and thus the tools that derive the configuration, is that it places components in a position that makes it difficult to expand the system. For example, users often need to place storage components and server components within a rack. In such systems, the storage components can be heavier and more dense than the server components. As a result, conventional configuration tools configure the rack such that the storage components are lower in the rack than the server components. This configuration makes it difficult to add additional storage components because the servers are located above the storage components. A user must first move and reinstall the server in order to free up rack position adjacent to the existing storage components.
Another problem with placing a server component above a storage component is that it makes it difficult to slide the server component. Server components can be installed onto rails which slide to allow access to the server expansion slots. As such, the higher a server is located, the more difficult it is to slide out the server to access the expansion slots.
Another conventional solution to the problem of configuration is for a user to simply place the components in the most desirable position. This presents a problem, because the configuration may be unsafe. If the user creates a configuration wherein the rack has a high center of gravity, the rack may be prone to tipping.
In accordance with the present invention, a method and system for adaptive component placement are disclosed that provide significant advantages over prior developed component placement systems. The present invention optimizes rack configuration without compromising safety.
According to one aspect of the present invention, a method comprises generating a configuration. The configuration comprises a placement of components within a rack. The method further comprises computing a center of gravity of the configuration. The method includes determining if the center of gravity exceeds a maximum center of gravity.
According to another aspect of the present invention, a system for adaptive component placement comprises a plurality of optimization levels and an execution engine. The execution engine comprises software for execution on a computing platform. The execution engine is operable to select a selected level out of the plurality of optimization levels. The execution engine is further operable to generate a configuration based upon the selected level, the configuration comprising a placement of components within a rack. The execution engine is also operable to compute a center of gravity of the configuration and determine if the center of gravity exceeds a maximum center of gravity. The execution engine is further operable to repeat the selecting, generating, computing, and determining steps until the center of gravity of the configuration does not exceed the maximum center of gravity.
It is a technical advantage of the present invention that it can derive an optimal configuration of the various components, such that the completed system is easier to use. For example, the system can derive a configuration with a server component placed below a storage component. This allows for easier access to the server as well as easier expansion by addition of storage components.
It is another technical advantage that the present invention can determine an optimal rack configuration without compromising safety.
Other technical advantages should be apparent to one of ordinary skill in the art in view of the specification, claims, and drawings.